#pragma once

#include "strategy/IStrategy.hpp"
#include "strategy/StrategyAdd.hpp"
#include "strategy/StrategySub.hpp"
#include "exception/CustomException.hpp"


class Context
{
private:
    IStrategy_ptr _strategy;
public:
    Context(strategy::StrategyType strategy);
    ~Context() = default;

    double operator()(double a, double b) const;
};
